@256
D=A
@SP
M=D
//17==17
@17
D=A
@SP
A=M
M=D
@SP
M=M+1
@17
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
@SP
M=M-1
A=M
D=M-D
@StackTest.EQ.OFBPI
D;JEQ
D=0
@StackTest.OUTPUT.PRDIF
0;JMP
(StackTest.EQ.OFBPI)
D=-1
(StackTest.OUTPUT.PRDIF)
@SP
A=M
M=D
@SP
M=M+1
//17==16
@17
D=A
@SP
A=M
M=D
@SP
M=M+1
@16
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
@SP
M=M-1
A=M
D=M-D
@StackTest.EQ.UXJYT
D;JEQ
D=0
@StackTest.OUTPUT.KYPUR
0;JMP
(StackTest.EQ.UXJYT)
D=-1
(StackTest.OUTPUT.KYPUR)
@SP
A=M
M=D
@SP
M=M+1
//16==17
@16
D=A
@SP
A=M
M=D
@SP
M=M+1
@17
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
@SP
M=M-1
A=M
D=M-D
@StackTest.EQ.TFWIJ
D;JEQ
D=0
@StackTest.OUTPUT.LQZTN
0;JMP
(StackTest.EQ.TFWIJ)
D=-1
(StackTest.OUTPUT.LQZTN)
@SP
A=M
M=D
@SP
M=M+1
//892<891
@892
D=A
@SP
A=M
M=D
@SP
M=M+1
@891
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
@SP
M=M-1
A=M
D=M-D
@StackTest.LT.WETHG
D;JLT
D=0
@StackTest.OUTPUT.WDKRJ
0;JMP
(StackTest.LT.WETHG)
D=-1
(StackTest.OUTPUT.WDKRJ)
@SP
A=M
M=D
@SP
M=M+1
//891<892
@891
D=A
@SP
A=M
M=D
@SP
M=M+1
@892
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
@SP
M=M-1
A=M
D=M-D
@StackTest.LT.HUWPR
D;JLT
D=0
@StackTest.OUTPUT.USATO
0;JMP
(StackTest.LT.HUWPR)
D=-1
(StackTest.OUTPUT.USATO)
@SP
A=M
M=D
@SP
M=M+1
//891<891
@891
D=A
@SP
A=M
M=D
@SP
M=M+1
@891
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
@SP
M=M-1
A=M
D=M-D
@StackTest.LT.CUHTZ
D;JLT
D=0
@StackTest.OUTPUT.QABYF
0;JMP
(StackTest.LT.CUHTZ)
D=-1
(StackTest.OUTPUT.QABYF)
@SP
A=M
M=D
@SP
M=M+1
//32767>32766
@32767
D=A
@SP
A=M
M=D
@SP
M=M+1
@32766
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
@SP
M=M-1
A=M
D=M-D
@StackTest.GT.UKIWD
D;JGT
D=0
@StackTest.OUTPUT.QDYFH
0;JMP
(StackTest.GT.UKIWD)
D=-1
(StackTest.OUTPUT.QDYFH)
@SP
A=M
M=D
@SP
M=M+1
//32766>32767
@32766
D=A
@SP
A=M
M=D
@SP
M=M+1
@32767
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
@SP
M=M-1
A=M
D=M-D
@StackTest.GT.AVPRO
D;JGT
D=0
@StackTest.OUTPUT.VLZTA
0;JMP
(StackTest.GT.AVPRO)
D=-1
(StackTest.OUTPUT.VLZTA)
@SP
A=M
M=D
@SP
M=M+1
//32766>32766
@32766
D=A
@SP
A=M
M=D
@SP
M=M+1
@32766
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
@SP
M=M-1
A=M
D=M-D
@StackTest.GT.MWJZI
D;JGT
D=0
@StackTest.OUTPUT.ZLPOR
0;JMP
(StackTest.GT.MWJZI)
D=-1
(StackTest.OUTPUT.ZLPOR)
@SP
A=M
M=D
@SP
M=M+1
//31+53
@57
D=A
@SP
A=M
M=D
@SP
M=M+1
@31
D=A
@SP
A=M
M=D
@SP
M=M+1
@53
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
@SP
M=M-1
A=M
M=M+D
@SP
M=M+1
//-122
@112
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
@SP
M=M-1
A=M
M=M-D
@SP
M=M+1
//neg
@SP
M=M-1
A=M
M=-M
@SP
M=M+1
//and
@SP
M=M-1
A=M
D=M
@SP
M=M-1
A=M
M=M&D
@SP
M=M+1
//or
@82
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
@SP
M=M-1
A=M
M=M|D
@SP
M=M+1
//not
@SP
M=M-1
A=M
M=!M
@SP
M=M+1
